package com.cloud.common.shield.util;

/**
 * @author wangjian
 * @version 1.0.0
 * @create 2020年10月21日14:22
 * Life is so short,do something to make yourself happy,such as coding
 */
public class TracerBizNumberUtils {

    /**
     * <p>
     *     将<code>字符串</code>转换为<code>int</code>，如果转换失败，则返回<code>zero</code>。
     * </p>
     * <p>
     *     如果字符串是<code>null</code>，则返回<code>zero</code>。
     * </p>
     *
     * <pre>
     *   NumberUtils.toInt(null) = 0
     *   NumberUtils.toInt("")   = 0
     *   NumberUtils.toInt("1")  = 1
     * </pre>
     * @param str 需要转黄的字符串，可以为null
     * @return 由字符串转换的int，如果转换失败，则为零
     * @since 1.0.0
     */
    public static int toInt(String str) {
        return toInt(str, 0);
    }

    /**
     * <p>
     *     将<code>字符串</code>转换为<code>int</code>， 如果转换失败，则返回默认值。
     * </p>
     * <p>
     *     果字符串是<code>null</code>，则返回<code>defaultValue</code>默认值。
     * </p>
     *
     * <pre>
     *   NumberUtils.toInt(null, 1) = 1
     *   NumberUtils.toInt("", 1)   = 1
     *   NumberUtils.toInt("1", 0)  = 1
     * </pre>
     *
     * @param str 需要转黄的字符串，可以为null
     * @param defaultValue 默认值
     * @return 由字符串转换的int，如果转换失败，则为零
     * @since 1.0.0
     */
    public static int toInt(String str, int defaultValue) {
        if (str == null) {
            return defaultValue;
        }
        try {
            return Integer.parseInt(str);
        } catch (NumberFormatException nfe) {
            return defaultValue;
        }
    }

}
